$(function(){
	var timeOut;
    var pageSize = 8;//定义每页显示8条数据
    var $loadBox = $(".load-icon-box");
    var beforePage = 1;//靠近首页的页码号
    var endPage = 1;//靠近尾页的页码号
    var pageCount = 1;//初始总页码，实际需要从服务器获取
    var lastPageSize = 1;//最新页记录数
    var lastDataArr = [];//最新页的数据，记录下来方便刷新覆盖
    var curPage = 1;
    /**
     * websocket对象，等待在页面加载完后初始化连接获取
     */
    var ws = null;
    /**拖动插件开始*/
    var uprefresh=document.getElementById('up-refresh');
    var downrefresh=document.getElementById('down-refresh');
	var list_main = document.getElementById('list_main');
	var wrapper = $(".con-box").attr("id");//判断是哪个页面--通过con-box
	var userInfo = getLocalUserInfo();

	
	/**
	 * ajax获取数据
	 * @param page 请求的页数
	 * @constructor
	 */
	function loadHallMsg(pageNo,pageSize,callback){ // ajax后台交互
	    $.ajax({
	        type : "get",
	        dataType : "JSON",
	        url : "../hall/msgList.do", // 你请求的地址
	        data : {
	            pageSize:pageSize,  // 传过去的页码
	            pageNo:pageNo
	        },
	        success : function(data){
	        	console.log('index.js -> loadHallMsg -> data : '+data);
	        	callback(data);
	        },
	        error : function(){

	        }
	    });
	}
	

	    
	
	    /**
	     * 喊话数据更新
	     */
	    function addSpeekDataFun(data){
    		var $itemTemplate = $('#template .newsBoxTemplate');
    		var wrapper = $(".con-box").attr("id");//判断是哪个页面--通过con-box
    		loadSlide(data,wrapper,$itemTemplate,'top');
    	};
	
	    //websocket监听服务器数据推送
	    function connect() {
            var url1 = 'ws://'+websocketDomain+'/ep-websocket/websocket/hallws';
            var url2 = 'http://'+websocketDomain+'/ep-websocket/websocket/socketjs/hallws';
           
            if ('WebSocket' in window) {
                ws = new WebSocket(url1);
            } else if ('MozWebSocket' in window) {
                ws = new MozWebSocket(url1);
            } else {
                ws = new SockJS(url2);
            }
//            ws = new SockJS(url2);
            
            ws.onopen = function () {
            if(userInfo){
            	if(userInfo!=null){
            		var data =  $.extend({_requestType:'userInfo'}, userInfo);
            		console.log(data);
    				var userInfoJsonStr = JSON.stringify(data);
    				console.log(userInfoJsonStr);
    				
					ws.send(userInfoJsonStr);
            	}
    			} 
            };
            ws.onmessage = function (event) {
            	if(event.data=='ok'){
            	}else{
            	//数据派发
            	var data  = JSON.parse(event.data);
            	var eventType = data._type;
            	var d = data;//真正的业务数据
            	console.log(d);
            	
            	switch(eventType){
	            	case 'roomSpeeked'://房间喊话数据更新
	            		var dataArr = [d];
	            		addSpeekDataFun(dataArr);
	            		break;
	            	
	            	}
            	}
            };
            ws.onclose = function (event) {
            };
        };
	
        
       var initHallFun = function(){
    	   /**默认加载解盘大厅咨询列表第一页*/
   	    //第一遍获取分页信息
    	curPage = 1;
    	console.log('index.js -> initHallFun -> curPage : '+curPage);
   		loadHallMsg(curPage,pageSize,function(data){
   			var wrapper = $(".con-box").attr("id");//判断是哪个页面--通过con-box
   			console.log('index.js -> initHallFun -> wrapper : '+wrapper);
   			var $itemTemplate = $('#template .newsBoxTemplate');
   			pageCount = data.data.pageCount;//获取当前总页数，并初始总页码
   			
   			console.log('index.js -> initHallFun -> pageCount : '+pageCount);
   			
   			if(pageCount > curPage){
   				curPage = pageCount;
   				loadHallMsg(curPage,pageSize,function(data2){
   					loadSlide(data2.data.result,wrapper,$itemTemplate,'bottom',function(d){
   						var id = d.roomId;
   						window.location.href = 'room.html?roomId='+id;
   					});//填充数据
   					if(data2.data.result.length < pageSize){
   						curPage--;
   						loadHallMsg(curPage,pageSize,function(data3){
   							loadSlide(data3.data.result,wrapper,$itemTemplate,'bottom',function(d){
   		   						var id = d.roomId;
   		   						window.location.href = 'room.html?roomId='+id;
   		   					});//填充数据
   						});
   					}
   				});
   				
   			} else {
					loadSlide(data.data.result,wrapper,$itemTemplate,'bottom',function(d){
						var id = d.roomId;
						window.location.href = 'room.html?roomId='+id;
					});//填充数据
   			}
   			
   			
   		});
      
       };

        /**
    	 * 解盘大厅页面初始化，先初始化页头，然后初始化咨询列表
    	 */
    	initHeader(function(data){//定义菜单点击后的动作
    		console.log('111');
    				
    				var id = data.id;
    				if(userInfo != null){
    					for(var i in userInfo.roles){
    						if(userInfo.roles[i] == 'jpls'){//如果是解盘老师，则跳转
    							window.location.href = 'preciousMetal.html?roomId='+id;
    							return;
    						}
    					}
    					
    				}
    				if(ws){
    					ws.close();//关闭旧的
    					ws = null;
    				}
    				window.location.href = 'room.html?roomId='+id;
    			},
    	function(){
    				initUserInfo(function(){//加载权限，再决定跳转页面
    				});
    				console.log(222);
    				initHallFun();
    				if(ws){
    					ws.close();//关闭旧的
    					ws = null;
    				}
    				connect();
    	});
    	
    	
    	
        $(window).scroll(function () {
            if(isLoad()){//判断是否达到加载条件，
            	if(curPage > 1){//只有当前页不是第一页时，才允许加载
            		var $loadBox = $(".load-icon-box");
            		 $loadBox.find("img").show(0);
                     $loadBox.show(0);
                     $loadBox.find("span").text("数据加载中...");
            		
    	        	curPage--;
    	        	loadHallMsg(curPage,pageSize,function(data){
    	        		var wrapper = $(".con-box").attr("id");//判断是哪个页面--通过con-box
            			var $itemTemplate = $('#template .newsBoxTemplate');
            			loadSlide(data.data.result,wrapper,$itemTemplate,'bottom',function(d){
            				 var id = d.roomId;
    		        		 window.location.href = 'room.html?roomId='+id;
            			});
            			
            			 $loadBox.show(0);
                         $loadBox.find("img").hide(0);
                         $loadBox.find("span").text("数据加载完毕！")
    	        	});
    	        }
            	
            }
        });
});

	